Relevance-based search and discovery of media content

ABSTRACT

Systems and methods are provided for relevance-based media content discovery. Relevance scores for segments of a media asset are calculated based on a time amount that at least one viewer has viewed the segments of the media asset. Segments are then chosen for display based on the relevance score. Users may select segments based on representative images of the segments.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/376,547 (Attorney Docket No. MOBIP094C1), filed Dec. 12, 2016 by John Hinman, et al., titled “CHARACTER BASED SEARCH AND DISCOVERY OF MEDIA CONTENT” which is a continuation of U.S. patent application Ser. No. 13/457,906 (Attorney Docket No. MOBIP094), filed Apr. 27, 2012 by John Hinman, et al., titled “CHARACTER BASED SEARCH AND DISCOVERY OF MEDIA CONTENT”, which are incorporated by reference herein in their entirety and for all purposes.

TECHNICAL FIELD

The present disclosure relates to character-based search and discovery of media content.

DESCRIPTION OF RELATED ART

A variety of conventional mechanisms allow for media discovery. Different text-based and image-based program guides allow navigation to particular programs and shows. For instance, a user can enter text search string to identify content having descriptions corresponding to the text search string. Snapshots of video clips may be presented on a page to the user along with title and content descriptions. Numerous mechanisms allow for search and discovery of media content.

However, many media discovery mechanisms remain heavily text-focused. Consequently, techniques are provided to improve search and discovery of media content.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure may best be understood by reference to the following description taken in conjunction with the accompanying drawings, which illustrate particular embodiments.

FIG. 1 illustrates one example of a system that can use the techniques and mechanisms of the present invention.

FIG. 2 illustrates one example of a character-based media search and discovery screen.

FIG. 3 illustrates one example of a technique for generating information for character- and entity-based media discovery.

FIG. 4 illustrates one example of a technique for performing character- and entity-based media content discovery.

FIG. 5 illustrates one example of a computer system.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Reference will now be made in detail to some specific examples of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.

For example, the techniques of the present invention will be described in the context of particular operations and types of content. However, it should be noted that the techniques of the present invention apply to a variety of operations and types of content. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. Particular example embodiments of the present invention may be implemented without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.

Various techniques and mechanisms of the present invention will sometimes be described in singular form for clarity. However, it should be noted that some embodiments include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. For example, a system uses a processor in a variety of contexts. However, it will be appreciated that a system can use multiple processors while remaining within the scope of the present invention unless otherwise noted. Furthermore, the techniques and mechanisms of the present invention will sometimes describe a connection between two entities. It should be noted that a connection between two entities does not necessarily mean a direct, unimpeded connection, as a variety of other entities may reside between the two entities. For example, a processor may be connected to memory, but it will be appreciated that a variety of bridges and controllers may reside between the processor and memory. Consequently, a connection does not necessarily mean a direct, unimpeded connection unless otherwise noted.

Overview

Mechanisms are provided for character-based and image-based media content search and discovery. Character images or entity images are mapped to corresponding media content. Selection of an image or a portion of an image may trigger a search for corresponding media content or begin playback of relevant media content. Character images or entity images need not correspond to a primary program character or object but may correspond to minor characters or tangential entities depicted periodically on particular programs.

Example Embodiments

Conventional media search and discovery mechanisms are text-focused. Information is typically provided at the channel, show, and episode level with title, content description, and possibly show snapshots presented to a user often in grid type formats. A user navigates to a particular channel, show, and episode and select the episode to begin playback of that episode. In some instances, video clips are provided with show snapshots, title, and content description and playback begins with selection of the title or snapshot.

However, mechanisms for performing character- or entity-based searches are limited. For example, if a viewer wants to navigate to videos portraying the character Swiper the Fox, the viewer may navigate to time slots and select particular episodes of Dora the Explorer™. These episodes of Dora the Explorer™ may or may not feature Swiper the Fox. The user would then have to browse through a selection of show titles, if available, to guess which shows might feature Swiper the Fox. In some instances, there may be websites that feature Swiper the Fox and fans may have indicated where Swiper the Fox was prominently featured. However, out-of-band search still does not allow easy access to shows, clips, or segments featuring Swiper the Fox.

Consequently, the techniques and mechanisms of the present invention identify programs, movies, clips, and segments featuring a particular character or entity. In some examples, segments may be portions of a show or program. In particular embodiments, the segments are manually identified, delineated, and tagged. In other instances, the segments are identified automatically by using image recognition or voice recognition algorithms to identify particular characters or entities. In still other examples, web content is scanned or crawled to identify segments that feature particular characters or entities.

According to various embodiments, a viewer may wish to find segments featuring the pyramids. There may be some media content explicitly featuring pyramids in the title or content description. However, there may be numerous other segments featuring pyramids that may not readily be identifiable. Consequently, when a user selects an image of a pyramid, the techniques and mechanisms of the present invention provide programs, movies, shows, clips, advertisements, and media segments that depict pyramids. Media segments may be mere 5 second segments or run far longer.

In some examples, various images that include multiple characters and entities may be presented to a viewer to allow a viewer to select a character or entity. The selection of the character or entity can immediately playback media featuring the character or entity or trigger a search for media content featuring the character or entity. The search results may be automatically played for the user after display of the results for a predetermined period of time.

FIG. 1 is a diagrammatic representation illustrating one example of a system that can use the techniques and mechanisms of the present invention. According to various embodiments, content servers 119, 121, 123, and 125 are configured to provide media content to a mobile device 101. In some examples, media content may be provided using protocols such as HTTP, RTP, and RTCP. Although a mobile device 101 is shown, it should be recognized that other devices such as set top boxes and computer systems can also be used. In particular examples, the content servers 119, 121, 123, and 125 can themselves establish sessions with mobile devices and stream video and audio content to mobile devices. However, it is recognized that in many instances, a separate controller such as controller 105 or controller 107 can be used to perform session management using a protocol such as RTSP. It is recognized that content servers require the bulk of the processing power and resources used to provide media content to mobile devices. Session management itself may include far fewer transactions. Consequently, a controller can handle a far larger number of mobile devices than a content server can. In some examples, a content server can operate simultaneously with thousands of mobile devices, while a controller performing session management can manage millions of mobile devices simultaneously.

By separating out content streaming and session management functions, a controller can select a content server geographically close to a mobile device 101. It is also easier to scale, as content servers and controllers can simply be added as needed without disrupting system operation. A load balancer 103 can provide further efficiency during session management by selecting a controller with low latency and high throughput.

According to various embodiments, the content servers 119, 121, 123, and 125 have access to a campaign server 143. The campaign server 143 provides profile information for various mobile devices 101. In some examples, the campaign server 143 is itself a content server or a controller. The campaign server 143 can receive information from external sources about devices such as mobile device 101. The information can be profile information associated with various users of the mobile device including interests and background. The campaign server 143 can also monitor the activity of various devices to gather information about the devices. The content servers 119, 121, 123, and 125 can obtain information about the various devices from the campaign server 143. In particular examples, a content server 125 uses the campaign server 143 to determine what type of media clips a user on a mobile device 101 would be interested in viewing.

According to various embodiments, the content servers 119, 121, 123, and 125 can also receive media streams from content providers such as satellite providers or cable providers and send the streams to devices. In particular examples, content servers 119, 121, 123, and 125 access database 141 to obtain desired content that can be used to supplement streams from satellite and cable providers. In one example, a mobile device 101 requests a particular stream. A controller 107 establishes a session with the mobile device 101 and the content server 125 begins streaming the content to the mobile device 101. In particular examples, the content server 125 obtains profile information from campaign server 143.

In some examples, the content server 125 can also obtain profile information from other sources, such as from the mobile device 101 itself. Using the profile information, the content server can select a clip from a database 141 to provide to a user. In some instances, the clip is injected into a live stream without affecting mobile device application performance. In other instances, the live stream itself is replaced with another live stream. The content server handles processing to make the transition between streams and clips seamless from the point of view of a mobile device application. In still other examples, advertisements from a database 141 can be intelligently selected from a database 141 using profile information from a campaign server 143 and used to seamlessly replace default advertisements in a live stream. Content servers 119, 121, 123, and 125 have the capability to manipulate packets to allow introduction and removal of media content, tracks, metadata, etc.

FIG. 2 illustrates one example of a search and discovery screen. According to various embodiments, the search and discovery screen 201 includes a plurality of character images 211, 213, 215, 217, 219, and 221. Selection of a character image 211, 213, 215, 217, 219, or 221 can trigger immediate playback of a media segment depicting a corresponding character, trigger a search for relevant media content, trigger delayed playback of media content after search results are shown, etc. In particular embodiments, a background image 231 includes selectable characters and entities 241, 243, 245, 247, 249, and 251. Selection of a character or entity image 241, 243, 245, 247, 249, and 251 can trigger immediate playback of a media segment depicting a corresponding character or entity, trigger a search for relevant media content, trigger delayed playback of media content after search results are shown, etc. It should be noted that although a particular configuration of character images and entity images is shown, a variety of configurations are possible. In some examples, only character images or only entity images may be displayed. In other examples, a combination of character images and entity images may be selectable in a dynamically varying sequence. In some examples, character images and entity images may be selectable in a video.

According to various embodiments, character images and background images may change automatically over time or may change after user interaction. In particular embodiments, a viewer may click a button or a wheel to rotate character images on and off of a display. A variety of character images and entity images may be shown. In some examples, only a background image may be shown. In other examples, multiple images each with multiple characters and entities may be displayed on a single page. In some examples, selectable images and entities may be highlighted during navigation to show selectability.

In some examples, viewers may be able to select multiple images to identify clips featuring both of those characters or entities. For example, a viewer may select an image of an actor and a particular vehicle, to identify segments featuring the actor and that vehicle. In other examples, a viewer may select images of two cartoon characters to identify segments featuring both of those cartoon characters.

FIG. 3 illustrates one example of a technique for identifying media segments. According to various embodiments, a character based media search and discovery system identifies multiple characters and entities at 301. The characters may be actors, actresses, cartoon characters, puppets, fictional characters, computer animated individuals, etc. The entities may be objects, places, things, as well as types of scenes such as action sequences, romantic scenes, etc. According to various embodiments, media content from a source such as a media content library is scanned at 303. The scan may be performed manually or by using image recognition and voice recognition algorithms to identify particular characters and entities. In some examples, image recognition is performed at 305 and voice recognition is performed at 307 to identify characters and entities.

According to various embodiments, media segments are delineated, tagged, and/or linked to corresponding character images and entity images at 309. In some instances, media segments may be delineated by specifying start points and end points. Tags may include character names, entity names, and likelihood of relevance. In some instances, segments may have tags associated with multiple characters and entities. At 311, media segments are ordered based on relevance. A selection of a particular character image may begin playback of a media segment having the highest relevance. In other examples, selection of a particular character or entity image may present a listing of media segments having the highest relevance.

FIG. 4 illustrates a particular example of a technique for performing character-based and entity-based media search and discovery. According to various embodiments, one or more character and/or entity images are presented to a viewer at 401. In particular embodiments, a viewer selection of one or more character and/or entity images is received at 403. At 405, media segments corresponding to the selected images are identified. The media segments may be portions of a program, and entire movie, a video clip, etc. At 407, media segments having the highest relevance are returned to the viewer. In some examples, playback of the segment with the highest relevance begins immediately at 409. In other examples, media segment options are presented to the viewer in order of relevance at 411.

According to various embodiments, a media segment request is received from the viewer at 413 and the media segment is streamed to the viewer at 415. According to various embodiments, the duration the viewer watches the media segment is monitored to determine how relevant the media segment was to the user at 417. If the viewer watches a high percentage of the media segment or watches for an extended period of time, the media segment relevance score for the corresponding character or entity image is increased at 419. If the viewer watches a low percentage of the media segment or watches for a limited period of time, the media segment relevance score may be decreased at 421.

FIG. 5 illustrates one example of a server. According to particular embodiments, a system 500 suitable for implementing particular embodiments of the present invention includes a processor 501, a memory 503, an interface 511, and a bus 515 (e.g., a PCI bus or other interconnection fabric) and operates as a streaming server. When acting under the control of appropriate software or firmware, the processor 501 is responsible for modifying and transmitting media content to a client. Various specially configured devices can also be used in place of a processor 501 or in addition to processor 501. The interface 511 is typically configured to send and receive data packets or data segments over a network.

Particular examples of interfaces supported include Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control communications-intensive tasks such as packet switching, media control and management.

According to various embodiments, the system 500 is a content server that also includes a transceiver, streaming buffers, and a program guide database. The content server may also be associated with subscription management, logging and report generation, and monitoring capabilities. In particular embodiments, the content server can be associated with functionality for allowing operation with mobile devices such as cellular phones operating in a particular cellular network and providing subscription management capabilities. According to various embodiments, an authentication module verifies the identity of devices including mobile devices. A logging and report generation module tracks mobile device requests and associated responses. A monitor system allows an administrator to view usage patterns and system availability. According to various embodiments, the content server handles requests and responses for media content-related transactions while a separate streaming server provides the actual media streams.

Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Therefore, the present embodiments are to be considered as illustrative and not restrictive and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims. 

1.-20. (canceled)
 21. A method comprising: generating for display representative images for a plurality of segments of a media asset; computing a relevance score for each segment of the plurality of segments, wherein the relevance score is based on a time amount that at least one viewer has viewed the segment of the media asset; selecting a segment to play based on the relevance score; and generating for display the selected segment.
 22. The method of claim 21, wherein length of each segment of the plurality of segments is shorter than length of the media asset.
 23. The method of claim 21, further comprising: generating for display media options related to the segments of the media asset, wherein the media options are generated for display in an order based on each computed relevance score for each segment of the plurality of segments.
 24. The method of claim 21, wherein the relevance score is based on a ratio of the media segment that was viewed by the at least one viewer.
 25. The method of claim 21, wherein the representative images comprise a plurality of character images.
 26. The method of claim 25, further comprising: presenting the plurality of character images simultaneously on a display, wherein the plurality of character images comprises a first character image and a second character image.
 27. The method of claim 21, wherein selecting the segment to play based on the relevance score further comprises: receiving, via a user interface, a selection of a representative image from the representative images.
 28. The method of claim 21, wherein computing the relevance score for each segment of the plurality of segments further comprises: monitoring a first duration that the at least one viewer views the segment of the media asset; and increasing the relevance score based on the first duration that the at least one viewer views the segment of the media asset exceeding a threshold amount of time such that the increased relevance score indicates that the segment of the media asset has a higher correspondence to the representative image selected by the at least one viewer.
 29. The method of claim 21, wherein computing the relevance score for each segment of the plurality of segments further comprises: monitoring a second duration that the at least one viewer views the segment of the media asset; and decreasing the relevance score based on the second duration that the at least one viewer views the segment of the media asset being less than a threshold amount of time such that the relevance score indicates that the segment of the media asset has a lower correspondence to the representative image selected by the at least one viewer.
 30. A system comprising: network interface circuitry configured to: generate for display representative images for a plurality of segments of a media asset; and a processor circuitry configured to:  compute a relevance score for each segment of the plurality of segments, wherein the relevance score is based on a time amount that at least one viewer has viewed the segment of the media asset; select a segment to play based on the relevance score; and wherein the network interface circuitry is further configured to:  generate for display the selected segment.
 31. The system of claim 30, wherein length of each segment of the plurality of segments is shorter than length of the media asset.
 32. The system of claim 30, wherein the network interface circuitry is further configured to: generate for display media options related to the segments of the media asset, wherein the media options are generated for display in an order based on each computed relevance score for each segment of the plurality of segments.
 33. The system of claim 30, wherein the relevance score is based on a ratio of the media segment that was viewed by the at least one viewer.
 34. The system of claim 30, wherein the representative images comprise a plurality of character images.
 35. The system of claim 34, wherein the network interface circuitry is further configured to: present the plurality of character images simultaneously on a display, wherein the plurality of character images comprises a first character image and a second character image.
 36. The system of claim 30, wherein the processor circuitry is further configured to select the segment to play based on the relevance score by: receiving, via a user interface, a selection of a representative image from the representative images.
 37. The system of claim 30, wherein the processor circuitry is further configured to compute the relevance score for each segment of the plurality of segments by: monitoring a first duration that the at least one viewer views the segment of the media asset; and increasing the relevance score based on the first duration that the at least one viewer views the segment of the media asset exceeding a threshold amount of time such that the increased relevance score indicates that the segment of the media asset has a higher correspondence to the representative image selected by the at least one viewer.
 38. The system of claim 30, wherein the processor circuitry is further configured to compute the relevance score for each segment of the plurality of segments by: monitoring a second duration that the at least one viewer views the segment of the media asset; and decreasing the relevance score based on the second duration that the at least one viewer views the segment of the media asset being less than a threshold amount of time such that the relevance score indicates that the segment of the media asset has a lower correspondence to the representative image selected by the at least one viewer.
 39. A non-transitory computer readable medium comprising: instructions that when executed by a network interface circuitry cause the network interface circuitry to: generate for display representative images for a plurality of segments of a media asset; and instructions that when executed by a processor circuitry cause the processor circuitry to: compute a relevance score for each segment of the plurality of segments, wherein the relevance scores are based on a time amount that at least one viewer has viewed the segment of the media asset; select a segment to play based on the relevance score; and generate for display the selected segment.
 40. The non-transitory computer readable medium of claim 39, wherein length of each segment of the plurality of segments is shorter than length of the media asset.
 41. The non-transitory computer readable medium of claim 39, further comprising instructions that when executed by the network interface circuitry cause the network interface circuitry to: generate for display media options related to the segments of the media asset, wherein the media options are generated for display in an order based on each computed relevance score for each segment of the plurality of segments.
 42. The non-transitory computer readable medium of claim 39, wherein the relevance score is based on a ratio of the media segment that was viewed by the at least one viewer.
 43. The non-transitory computer readable medium of claim 39, wherein the representative images comprise a plurality of character images.
 44. The non-transitory computer readable medium of claim 43, further comprising instructions that when executed by the network interface circuitry cause the network interface circuitry to: present the plurality of character images simultaneously on a display, wherein the plurality of character images comprises a first character image and a second character image.
 45. The non-transitory computer readable medium of claim 39, further comprising instructions that when executed by the processor circuitry cause the processor circuitry to select the segment to play based on the relevance score by: receiving, via a user interface, a selection of a representative image from the representative images.
 46. The non-transitory computer readable medium of claim 39, further comprising instructions that when executed by the processor circuitry cause the processor circuitry to compute the relevance score for each segment of the plurality of segments by: monitoring a first duration that the at least one viewer views the segment of the media asset; and increasing the relevance score based on the first duration that the at least one viewer views the segment of the media asset exceeding a threshold amount of time such that the increased relevance score indicates that the segment of the media asset has a higher correspondence to the representative image selected by the at least one viewer.
 47. The non-transitory computer readable medium of claim 39, further comprising instructions that when executed by the processor circuitry cause the processor circuitry to compute the relevance score for each segment of the plurality of segments by: monitoring a second duration that the at least one viewer views the segment of the plurality of the media asset; and decreasing the relevance score based on the second duration that the at least one viewer views the segment of the media asset being less than a threshold amount of time such that the relevance score indicates that the segment of the media asset has a lower correspondence to the representative image selected by the at least one viewer. 